/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package analisador.lexico;
import java.util.HashMap;
import java.util.Map;

/**
 *
 * @author dem_danilo
 */
public class TabelaSimbolos {
    
    private Map<String,Registro> tabela = new HashMap<String,Registro>();  
    private TabelaSimbolos pai;
    

    TabelaSimbolos(){
    }

    public TabelaSimbolos getPai() {
        return pai;
    }

    public void setPai(TabelaSimbolos pai) {
        this.pai = pai;
    }

    
    public Map getTabela() {
        return tabela;
    }

    public void setTabela(Map tabela) {
        this.tabela = tabela;
    }
    
    public void addSimbol(String nome, Registro tok) {
        tabela.put(nome, tok);
    }
    
    public Registro getSimbol(String nome) {
        if(tabela.get(nome) == null && pai != null)
            return pai.getSimbol(nome);
        return tabela.get(nome);
    }
     
   public TabelaSimbolos criarFilho(){
       TabelaSimbolos novaTabela = new TabelaSimbolos();
       //novaTabela.setTabela(tabela);
       novaTabela.setPai(this);
       return novaTabela;
   }
    
}
